package persistencia;

import java.util.ArrayList;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.FileInputStream;

public class Repositorio {
	/* Definição dos atributos da classe */

	// campo para guardar dados provenientes do arquivo em disco
	private ArrayList<String> lista;

	/* Definição do construtor */

	public Repositorio() {
		// Inicialização dos atributos de uma instância.
		lista = new ArrayList<String>();
	}

	/* Definição dos métodos */

	// método para acessar o arquivo em disco e armazená-lo em um ArrayList
	public void lerArquivo(String diretorio) throws IOException,
			FileNotFoundException {
		FileInputStream stream = new FileInputStream(diretorio);
		InputStreamReader leitorDeStream = new InputStreamReader(stream);
		@SuppressWarnings("resource")
		BufferedReader leitor = new BufferedReader(leitorDeStream);

		String linha = "";

		while ((linha = leitor.readLine()) != null) {
			lista.add(linha);
		}
	}

	// método para segmentar os campos provenientes dos dados gerados pelo
	// método "lerArquivo"
	public ArrayList<String> escreverArquivo() {
		ArrayList<String> listaSegmentada = new ArrayList<String>();
		for (String linha : lista) {
			String[] value = linha.split(";");
			listaSegmentada.add(value[0]);
			listaSegmentada.add(value[1]);
			listaSegmentada.add(value[2]);
			listaSegmentada.add(value[3]);
		}

		return listaSegmentada;
	}
}
